package com.wicket.okrcomponent.biz.service.dto.common;
import com.wicket.okrcomponent.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import javax.validation.constraints.NotNull;
import lombok.Data;
import java.util.Objects;
    
    
    /**
     * @desc ConfItemResultDto
     * @使用场景
     */
    @Data
    public class ConfItemResultDto extends BaseDto  implements Serializable {
      
    /**
     * 选项关系ID 
     */
    @NotNull(message = "选项关系ID 不能为空")
@ApiModelProperty("选项关系ID ")
    private String	 confOptionRshipId;

    /**
     * 答案结果值 
     */
    @NotNull(message = "答案结果值不能为空")
@ApiModelProperty("答案结果值")
    private String	 endValue;

    /**
     * 答案选项类型 RADIO:单选型 MULTIPLE:多选型 TEXT:填空型
     */
    @NotNull(message = "答案选项类型不能为空")
@ApiModelProperty("答案选项类型")
    private String	 optionType;

    /**
     * 答案结果类型 NUMERIC:数值 TEXT:文本 DATETIME:日期 TIME:时间
     */
    @ApiModelProperty("答案结果类型")
    private String	 resultType;
/**
     * 答案排序 
     */
    @NotNull(message = "答案排序不能为空")
@ApiModelProperty("答案排序")
    private Long	 confOptionSortNum;

    /**
     * 选项标识 
     */
    @NotNull(message = "选项标识不能为空")
@ApiModelProperty("选项标识")
    private String	 confOptionCode;

    /**
     * 选项名称 
     */
    @NotNull(message = "选项名称不能为空")
@ApiModelProperty("选项名称")
    private String	 confOptionName;
/**
     * 配置方案ID 
     */
    @ApiModelProperty("配置方案ID")
    private String	 confSchemeId;

    /**
     * 配置方案标识 
     */
    @ApiModelProperty("配置方案标识")
    private String	 confSchemeCode;
/**
     * 扩展字段1（非必填） 
     */
    @ApiModelProperty("扩展字段1 （非必填）")
    private String	 extensionField1;

    /**
     * 扩展字段2（非必填） 
     */
    @ApiModelProperty("扩展字段2（非必填）")
    private String	 extensionField2;

    /**
     * 扩展字段3（非必填） 
     */
    @ApiModelProperty("扩展字段3 （非必填）")
    private String	 extensionField3;

    /**
     * 扩展字段4（非必填） 
     */
    @ApiModelProperty("扩展字段4（非必填）")
    private String	 extensionField4;

    /**
     * 答案商业位置（非必填） MENUS:菜单 TOP_FIND:发现上 FIND:发现 TOP_CONF_CENTER:配置中心上 CONF_CENTER:配置中心
     */
    @ApiModelProperty("答案商业位置（非必填）")
    private String	 optionThrowPlace;
/**
     * 答案ID
     */
    @ApiModelProperty("答案ID")
    private String	 optionResultId;
@Override
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      if (!super.equals(o)) return false;
      ConfItemResultDto that = (ConfItemResultDto) o;
      return  confOptionRshipId == that.confOptionRshipId&&endValue == that.endValue&&optionType == that.optionType&&resultType == that.resultType&&confOptionSortNum == that.confOptionSortNum&&confOptionCode == that.confOptionCode&&confOptionName == that.confOptionName&&confSchemeId == that.confSchemeId&&confSchemeCode == that.confSchemeCode&&extensionField1 == that.extensionField1&&extensionField2 == that.extensionField2&&extensionField3 == that.extensionField3&&extensionField4 == that.extensionField4&&optionThrowPlace == that.optionThrowPlace&&optionResultId == that.optionResultId;
    }
@Override
  public int hashCode() {
      return Objects.hash(super.hashCode(), confOptionRshipId,endValue,optionType,resultType,confOptionSortNum,confOptionCode,confOptionName,confSchemeId,confSchemeCode,extensionField1,extensionField2,extensionField3,extensionField4,optionThrowPlace,optionResultId);
    }
    
      

    }
   